Міністерство освіти і науки України
Національний університет "Львівська політехніка"
Кафедра "Інформаційні системи та мережі "
К У Р С О В А Р О Б О Т А
з дисципліни "Проблемно-орієнтовані мови програмування"
на тему:
" Виведення графіків функцій у декартовій(двовимірній, трьовимірній) та полярній системах координат."
Зміст
Вступ…………………………………………………………………………...3
1.Формулювання задачі………………………………………….…………...4
2.Методи та засоби розв’язування задачі……………………………..…….5
3.Алгоритми розв'язування задачі……………………………...…………...13
4.Опис програми на мові C/C++…………………………………………….20
5.Технологія програмування, виконання та відлагодження програми…...22
6.Інструкція користувачеві……………………………………………….....24
7.Аналіз результатів комп'ютерної реалізації програми..…………….….28
Висновки……………………………………………………………………….30
Список використаної літератури……………………………………………..31
Додаток 1………………………………………………………………………32
Вступ
Метою виконання курсової роботи є закріплення теоретичних знань та практичних навичок програмування, набутих при вивченні дисциплін "Основи програмування" та “Проблемно орієнтовані мови програмування”.
В ході виконання курсової роботи студенти повинні навчитися самостійно працювати з літературою, розробляти алгоритми, здійснювати їх програмну реалізацію та від лагодження на сучасних обчислювальних системах.
Завдання даної курсової роботи охоплює практично весь курс дисципліни «Проблемно-орієнтовані мови програмування», включаючи в себе основні його розділи. Програма охоплює всі ці розділи і вимагає виявити знання та навички, отримані при їх вивченні. При розробці програми студент набуває навичок практичного програмування, створюючи продукт, який має практичну цінність як прикладна програма, зручний інтерфейс з керуванням за допомогою клавіатури та миші, та інші елементи та особливості, притаманні професійним програмам, що пишуться для користувача, не знайомого з програмуванням.
1. Формулювання задачі.
Завдання даної курсової роботи полягає у створенні програми для виведення графіків у трьох основних системах координат.
Необхідно створити програму, яка б мала інтерфейс з керуванням за допомогою клавіатури та миші, була б зручна у використанні.
Я вибрав типовий графічний інтерфейс в якому головні пункти меню є кнопками і нажатті на них відкривається підменю. За допомогою першого пункту головного меню можна зберегти або відкрити графік а також вийти з програми. Другий пункт предназначений для налаштування програми: для введення функції, вибору системи координат, вибору масштабу.
Третій пункт – це довідка.
При виборі системи координат у змінну записується її номер і після чого викликається функція, яка відповідно до цього номеру виводить розмітку.
Далі вводиться функція, як рядок символів. Після введення цей рядок перетворюється у зворотній польський запис, який є досить зручним для обчислення. Після перетворення рядка символів в циклі для кожного значення змінної, яке відповідає положенню точки на екрані, обчислюється значення виразу і виводиться один піксель. Після виведення графіка його можна зберегти, для подальшого використання. Для цього викликається функція, яка перетворює кожен і записує його у файл формату BMP.
Основною хитрістю цього меню є рисування чорних і білих ліній по периметру кнопки, що створює ефект об’ємності при наведенні і нажиманні на неї.
2. Методи та засоби розв’язування задачі.
Зворотний польський запис:
Звичною формою виразів є інфіксна, коли знак бінарної операції записується між позначеннями операндів цієї операції, наприклад, a+b. Розглянемо запис знаків операцій після позначень операндів, тобто постфіксний запис, наприклад, ab+. Такий запис має також назву зворотного польського, оскільки його запропонував польський логік Ян Лукасевич. Далі словосполучення "зворотний польський запис" позначатимемо ЗПЗ.
Опишемо відповідність між звичними інфіксними виразами та їх ЗПЗ. Нехай E, E1, E2 позначають вирази в інфіксній формі, <op1>, <op2> – знаки унарної та бінарної операцій, <opf> – ім'я ф...